---
title: Router
description: A file-based routing library for React Native and web applications.
sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-router'
packageName: 'expo-router'
platforms: ['android', 'ios', 'tvos', 'web']
searchRank: 6
---

import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';

import APISection from '~/components/plugins/APISection';
import { BoxLink } from '~/ui/components/BoxLink';
import { ConfigPluginExample } from '~/ui/components/ConfigSection';

`expo-router` is a routing library for React Native and web apps. It enables navigation management using a file-based routing system and provides native navigation components and is built on top of [React Navigation](https://reactnavigation.org/).

<BoxLink
  title="Expo Router guides"
  description="Learn about Expo Router basics, navigation patterns, core concepts, and more."
  href="/router/introduction/"
  Icon={BookOpen02Icon}
/>

## Installation

To use Expo Router in your project, you need to install. Follow the instructions from the Expo Router's installation guide:

<BoxLink
  title="Install Expo Router"
  description="Learn how to install Expo Router in your project."
  href="/router/installation/"
  Icon={BookOpen02Icon}
/>

## Configuration in app config

If you are using the [default](/more/create-expo/#--template) template to create a new project, `expo-router`'s [config plugin](/config-plugins/introduction/) is already configured in your app config.

<ConfigPluginExample>

```json app.json
{
  "expo": {
    "plugins": ["expo-router"]
  }
}
```

</ConfigPluginExample>

## Usage

For information core concepts, notation patterns, navigation layouts, and common navigation patterns, start with Router 101 section:

<BoxLink title="Router 101" Icon={BookOpen02Icon} href="/router/basics/core-concepts/" />

## API

```js
import { Stack, Tabs, Link } from 'expo-router';
```

<APISection packageName="expo-router" />
